package com.laogao.jenkinestestpackage01.demos.entity;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateConverter {

    // 日期时间格式 (yyyy-MM-dd HH:mm:ss)
    private static final SimpleDateFormat DATETIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * 将Date类型的开始时间转换为字符串格式
     *
     * @param beginTime 开始时间（Date类型）
     * @return 格式化后的开始时间字符串（yyyy-MM-dd 00:00:00）
     */
    public static String formatBeginTime(Date beginTime) {
        if (beginTime == null) {
            return null;
        }

        // 创建Calendar实例，用于处理时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(beginTime);
        // 将时间设置为当天的00:00:00
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);

        return DATETIME_FORMAT.format(calendar.getTime());
    }

    /**
     * 将Date类型的结束时间转换为字符串格式
     *
     * @param endTime 结束时间（Date类型）
     * @return 格式化后的结束时间字符串（yyyy-MM-dd 23:59:59）
     */
    public static String formatEndTime(Date endTime) {
        if (endTime == null) {
            return null;
        }

        // 创建Calendar实例，用于处理时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(endTime);
        // 将时间设置为当天的23:59:59
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);

        return DATETIME_FORMAT.format(calendar.getTime());
    }

    // 测试方法
    public static void main(String[] args) {
        // 测试当前日期
        Date now = new Date();
        System.out.println("开始时间格式化: " + formatBeginTime(now));
        System.out.println("结束时间格式化: " + formatEndTime(now));
    }
}
